A problem that I have been experiencing is that the phenotypes seem so go wild really quickly. One species’ phenotype balloons to be really high while the other species" phenotype stays really low.
This will be a graph that looks at the phenotypes of different simulations with a unique mutation rate and mutation effect size.
Lets just visualize what the phenotypes are doing.
I used different values for snake_mu_effect_sd newt_mu_effect_sd snake_mu_rate newt_mu_rate. I chose these parameters to see if there would be a seeable interaction in phenotypes Other params: sigma_i = 1, recomb=1e-8, sigma_in = 0.5, sigma_M = 0.33, SD=SI=surs=SM=sigma_in, L = 4, W=35.0, G=1e8, FECUN = 1/(L), RHO, FECUN/((1+FECUN) * K), interaction_rate = 0.05, PE = 0.1, w= 10, c = 0.0, initializeRecombinationRate(recomb), initializeMutationRate(1e-10), initializeGenomicElement(g1, 0, G-1)
Other things: (kind of confusing)
initializeMutationType(“m1”, 0.5, “n”, 0, newt_mu_effect_sd); initializeMutationType(“m2”, 0.5, “n”, 0, snake_mu_effect_sd); initializeGenomicElementType(“g1”, c(m1, m2), c(newt_mu_rate/mu_rate, 1)); // mutation proportions add the proportion (the target mutation rate)
Snake/newt mu effect sd -> is the standard deviation that each mutation would “effect” a phenotype. Values: 0.01 0.05 0.2 0.5
Snake/newt mu rate -> is the mutation rate that were assigned to newts and snakes. Values: 1.00E-08 1.00E-10 1.00E-12
In total there were 144 combinations. One simulation per combination (this experiment was not repeated)
My summer 2021 goal is to get the 1 on 1 simulation to run correctly. For this to happen I would like the simulation to have: -Realistic phenotypes (snake 0-3, newt 0-1.5(thoughts 2021?)) -See if the levels of toxicity and resistance interact -See groups of mutations/ certain phenotypes
I tried to run SLiM simulation different with the selected parameters and the MSprime both_su_1e-10_nu_1e-10_sue_0.01_nue_0.01 (s/n u mutation rate, n/s ue mutation effect size). However I flipped the mutation rate and effect size. So… new experiment with really large mutation rate and small effect size????
I made functions to collect data and make figures for all of the simulations that I run. The data generator will take a list of files and find things like max, min, mean and sd. The functions that creates the figures will usually take a list of files, a mean, sd and title. These functions will loop through the list of files and return the specific figure. On some there is also the option to log the y axis.
Loop through the files and find the max and min of each of the species phenotypes Then set up a graph with the average phenotype:
## [1] "Newt max pheno: 1.11929"
## [1] "Snake max phenot: 1.08395"
## [1] "Newt min pheno: 0"
## [1] "Snake min Pheno: 0"
## [1] "Mean of combined snake and newt: 0.96512683"
## [1] "Sd of combined snake and newt: 0.0056361138898082"
## [1] "Mean of the mean difference: -0.00939542000000001"
## [1] "SD of the mean difference: 0.00307414758777592"
This section of code loops though the files and make two lines (red for newts blue for snakes). This figure shows how the pheotypes change over 1000 generations. It also keeps a minimum about of info in memory at a time. aka dont open all of the files and put it into a large dataframe.
This figure represents the difference between the snake and the newt phenotype. The pink lines indicate that the newt is more toxic than the snakes, while the blue line indicates that the snakes are more resistant than the newts. Sometime there are neutral cases and the colors get mixed, but i have plans to fix this and make the figure better overall (7/13/2021).
For this figure I want there to be 2 sets of points (4 complete points) for each simulation taking the first and last mean phenotype for the newt and the snake. Essentially, asking if the phenotypes of the newts and snakes changed over 1000 generations? I changed these points into arrows to show the direction of phenotype change.
I want to see what the un-transformed phentypes are and compare them to their transformed buddies to figure out what values I should be using for sigma and mu.
I calculated the phenotypes from this expression, newt pheno = exp(inds_n.sumOfMutationsOfType(m1)/10). So to un-transform and find the # of mutations I need to ln both sides of the equation ln(pheno=e^(sumOfMutations/10)). Then solve for sumOfMutations, sumOfMutations = 10 * ln(pheno)
Notes: difference in the trees betw two chromosomes in a pop of size N is 4N so # of differing mutations is like 4 N L mu where L = genome length, mu = mutaiton rate per bp and if each mutation has an effect size that is N(0, sd=sigma), then the sum of K of these has mean 0 and SD= sigma * sqrt(K). So untransformed phenotypes (sum of effect sizes) should have mean 0 and SD= sigma * sqrt(4 N L mu). So, you’d work out what SD you want, then given mu solve for sigma (the SD of effect size)
## [[1]]
## [[1]]
I ran 144 SLiM simulations with different parameters values and used the MSprime both_su_1e-10_nu_1e-10_sue_0.01_nue_0.01 (s/n u mutation rate, n/s ue mutation effect size) file.
Again I looped through the files and find the max and min of each of the species pheotypes Then set up a graph with the average pheotypes over 1000 generations (red line for newts blue lines for snakes).
This is the correct one:
## [1] "Newt max pheno: 1.93225"
## [1] "Snake max phenot: 1.99304"
## [1] "Newt min pheno: 0"
## [1] "Snake min Pheno: 0"
## [1] "Mean of combined snake and newt: 0.99209333"
## [1] "Sd of combined snake and newt: 0.013968712455981"
## [1] "Mean of the mean difference: -0.01003354"
## [1] "SD of the mean difference: 0.0129905523852482"
## How much did the phenotypes of newts and snakes change over 1000 generations
## [[1]]
## [[1]]
This time I examine what the SLIM script would generate is both the MSprime and SLIM are ran with the variables that I picked. I ran 143 SLiM simulations & MSprime with different parameters values.
Again I looped through the files and find the max and min of each of the species pheotypes Then set up a graph with the average phenotypes over 1000 generations (red line for newts blue lines for snakes).
## [1] "Newt max pheno: 2.02937e+40"
## [1] "Snake max phenot: 2.01613e+45"
## [1] "Newt min pheno: 0"
## [1] "Snake min Pheno: 0"
## [1] "Mean of combined snake and newt: 1.1093973"
## [1] "Sd of combined snake and newt: 0.0576640774485285"
## [1] "Mean of the mean difference: -0.0924922"
## [1] "SD of the mean difference: 0.0278277272745243"
## Warning: Removed 50 row(s) containing missing values (geom_path).
## geom_path: Each group consists of only one observation. Do you need to adjust
## the group aesthetic?
## geom_path: Each group consists of only one observation. Do you need to adjust
## the group aesthetic?
## geom_path: Each group consists of only one observation. Do you need to adjust
## the group aesthetic?
## geom_path: Each group consists of only one observation. Do you need to adjust
## the group aesthetic?
## Warning in trans$transform(limits): NaNs produced
## [[1]]
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## [[1]]
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning: Removed 14 row(s) containing missing values (geom_path).
## Warning: Removed 27 row(s) containing missing values (geom_path).
## Warning: Removed 28 row(s) containing missing values (geom_path).
## Warning: Removed 34 row(s) containing missing values (geom_path).
## Warning: Removed 21 row(s) containing missing values (geom_path).
## Warning: Removed 19 row(s) containing missing values (geom_path).
## Warning: Removed 28 row(s) containing missing values (geom_path).
## Warning: Removed 2 row(s) containing missing values (geom_path).
## Warning: Removed 34 row(s) containing missing values (geom_path).
## Warning: Removed 23 row(s) containing missing values (geom_path).
## Warning: Removed 39 row(s) containing missing values (geom_path).
## Warning: Removed 35 row(s) containing missing values (geom_path).
## Warning: Removed 7 row(s) containing missing values (geom_path).
## Warning: Removed 6 row(s) containing missing values (geom_path).
## Warning: Removed 38 row(s) containing missing values (geom_path).
## Warning: Removed 9 row(s) containing missing values (geom_path).
## Warning: Removed 10 row(s) containing missing values (geom_path).
## Warning: Removed 7 row(s) containing missing values (geom_path).
## Warning: Removed 14 row(s) containing missing values (geom_path).
## Warning: Removed 11 row(s) containing missing values (geom_path).
## Warning: Removed 14 row(s) containing missing values (geom_path).
In the above few experiments I noticed that the newts seemed to start out with a higher phenotype potentially leading to a co-evolution advantage. Is there a change in the phenotypes due to the interaction in such a short time and would this “head-start” impact it?
Also the 2 different simulations experiment was too chaotic to really see if there was any co-evolution going on so I decided to run one last set of simulations which I call the 12 starting points.
In this experiment there are 12 msprime simulations where both newts and snakes have the same parameters so that they have about the same standing genetic variance. Here are the starting points:
| trial | snake_mu_effect_sd | newt_mu_effect_sd | snake_mu_rate | newt_mu_rate | more_mu |
|---|---|---|---|---|---|
| 1 | 0.01 | 0.01 | 1e-08 | 1e-08 | 1 |
| 2 | 0.05 | 0.05 | 1e-08 | 1e-08 | 1 |
| 3 | 0.20 | 0.20 | 1e-08 | 1e-08 | 1 |
| 4 | 0.50 | 0.50 | 1e-08 | 1e-08 | 1 |
| 5 | 0.01 | 0.01 | 1e-10 | 1e-10 | 1 |
| 6 | 0.05 | 0.05 | 1e-10 | 1e-10 | 1 |
| 7 | 0.20 | 0.20 | 1e-10 | 1e-10 | 1 |
| 8 | 0.50 | 0.50 | 1e-10 | 1e-10 | 1 |
| 9 | 0.01 | 0.01 | 1e-12 | 1e-12 | 1 |
| 10 | 0.05 | 0.05 | 1e-12 | 1e-12 | 1 |
| 11 | 0.20 | 0.20 | 1e-12 | 1e-12 | 1 |
| 12 | 0.50 | 0.50 | 1e-12 | 1e-12 | 1 |
I then ran SliM simulations with the same values from the 1 simulation experiment.
I think the best way to view the output will be by looking at all the results but separated by which trial it belongs to. I need to think a bit more oh how separating them will work, but I think it will have to be by name. Well I made a mistake and am currently rerunning the experiment. I guess we will have to see what happens
## [1] "------------------------------------------------------------"
## [1] " TRIAL 1 "
## [1] "------------------------------------------------------------"
## [1] "Newt max pheno trial 1: 3.79125"
## [1] "Snake max phenot trial 1: 3.73974"
## [1] "Newt min pheno trial 1: 0"
## [1] "Snake min Pheno trial 1: 0"
## [1] "Mean of combined snake and newt trial 1: 0.99762248"
## [1] "Sd of combined snake and newt trial 1: 0.0959676325380552"
## [1] "Mean of the mean difference trial 1: -0.18338784"
## [1] "SD of the mean difference trial 1: 0.0469604514377703"
## [1] "------------------------------------------------------------"
## [1] " TRIAL 2 "
## [1] "------------------------------------------------------------"
## [1] "Newt max pheno trial 2: 29993.4"
## [1] "Snake max phenot trial 2: 30705.9"
## [1] "Newt min pheno trial 2: 0"
## [1] "Snake min Pheno trial 2: 0"
## [1] "Mean of combined snake and newt trial 2: 72.3350107"
## [1] "Sd of combined snake and newt trial 2: 86.4114167483471"
## [1] "Mean of the mean difference trial 2: -15.7443222"
## [1] "SD of the mean difference trial 2: 40.986657672862"
## [1] "------------------------------------------------------------"
## [1] " TRIAL 3 "
## [1] "------------------------------------------------------------"
## [1] "Newt max pheno trial 3: 5.31702e+15"
## [1] "Snake max phenot trial 3: 1.53114e+14"
## [1] "Newt min pheno trial 3: 0"
## [1] "Snake min Pheno trial 3: 0"
## [1] "Mean of combined snake and newt trial 3: 2561834.66990679"
## [1] "Sd of combined snake and newt trial 3: 9782018.56704934"
## [1] "Mean of the mean difference trial 3: -5123629.26586643"
## [1] "SD of the mean difference trial 3: 13413990.249898"
## [1] "------------------------------------------------------------"
## [1] " TRIAL 4 "
## [1] "------------------------------------------------------------"
## [1] "Newt max pheno trial 4: 3.46707e+37"
## [1] "Snake max phenot trial 4: 1.64934e+40"
## [1] "Newt min pheno trial 4: 0"
## [1] "Snake min Pheno trial 4: 0"
## [1] "Mean of combined snake and newt trial 4: 5.01324140183761e+20"
## [1] "Sd of combined snake and newt trial 4: 4.11915687702638e+21"
## [1] "Mean of the mean difference trial 4: 1.89334755715981e+21"
## [1] "SD of the mean difference trial 4: 8.00508561733292e+21"
## [1] "------------------------------------------------------------"
## [1] " TRIAL 5 "
## [1] "------------------------------------------------------------"
## [1] "Newt max pheno trial 5: 1.9432"
## [1] "Snake max phenot trial 5: 1.96484"
## [1] "Newt min pheno trial 5: 0"
## [1] "Snake min Pheno trial 5: 0"
## [1] "Mean of combined snake and newt trial 5: 0.97723549"
## [1] "Sd of combined snake and newt trial 5: 0.0112645326071917"
## [1] "Mean of the mean difference trial 5: -0.00521437999999999"
## [1] "SD of the mean difference trial 5: 0.0133935439380322"
## [1] "------------------------------------------------------------"
## [1] " TRIAL 6 "
## [1] "------------------------------------------------------------"
## [1] "Newt max pheno trial 6: 2.2574"
## [1] "Snake max pheno trial 6: 2.23871"
## [1] "Newt min pheno trial 6: 0"
## [1] "Snake min Pheno trial 6: 0"
## [1] "Mean of combined snake and newt trial 6: 0.98527212"
## [1] "Sd of combined snake and newt trial 6: 0.0117193782140022"
## [1] "Mean of the mean difference trial 6: 0.00494384"
## [1] "SD of the mean difference trial 6: 0.0186427947271643"
## [1] "------------------------------------------------------------"
## [1] " TRIAL 7 "
## [1] "------------------------------------------------------------"
## [1] "Newt max pheno trial 7: 38.1245"
## [1] "Snake max phenot trial 7: 8.7359"
## [1] "Newt min pheno trial 7: 0"
## [1] "Snake min Pheno trial 7: 0"
## [1] "Mean of combined snake and newt trial 7: 1.82209555"
## [1] "Sd of combined snake and newt trial 7: 1.2521785062607"
## [1] "Mean of the mean difference trial 7: -2.3796277"
## [1] "SD of the mean difference trial 7: 0.595365764962204"
## [1] "------------------------------------------------------------"
## [1] " TRIAL 8 "
## [1] "------------------------------------------------------------"
## [1] "Newt max pheno trial 8: 1113.13"
## [1] "Snake max phenot trial 8: 1849"
## [1] "Newt min pheno trial 8: 0"
## [1] "Snake min Pheno trial 8: 0"
## [1] "Mean of combined snake and newt trial 8: 0.52150693"
## [1] "Sd of combined snake and newt trial 8: 0.170744026321479"
## [1] "Mean of the mean difference trial 8: 0.00837722"
## [1] "SD of the mean difference trial 8: 0.247076620875874"
## [1] "------------------------------------------------------------"
## [1] " TRIAL 9 "
## [1] "------------------------------------------------------------"
## [1] "Newt max pheno trial 9: 1.7618"
## [1] "Snake max phenot trial 9: 1.77042"
## [1] "Newt min pheno trial 9: 0"
## [1] "Snake min Pheno trial 9: 0"
## [1] "Mean of combined snake and newt trial 9: 1.00782611"
## [1] "Sd of combined snake and newt trial 9: 0.0164815969590665"
## [1] "Mean of the mean difference trial 9: 0.0211217"
## [1] "SD of the mean difference trial 9: 0.0161660737364092"
## [1] "------------------------------------------------------------"
## [1] " TRIAL 10 "
## [1] "------------------------------------------------------------"
## [1] "Newt max pheno trial 10: 1.93011"
## [1] "Snake max phenot trial 10: 1.90303"
## [1] "Newt min pheno trial 10: 0"
## [1] "Snake min Pheno trial 10: 0"
## [1] "Mean of combined snake and newt trial 10: 0.98445775"
## [1] "Sd of combined snake and newt trial 10: 0.0152422122028221"
## [1] "Mean of the mean difference trial 10: 0.01005434"
## [1] "SD of the mean difference trial 10: 0.0211376817069249"
## [1] "------------------------------------------------------------"
## [1] " TRIAL 11 "
## [1] "------------------------------------------------------------"
## [1] "Newt max pheno trial 11: 1.82997"
## [1] "Snake max phenot trial 11: 2.05803"
## [1] "Newt min pheno trial 11: 0"
## [1] "Snake min Pheno trial 11: 0"
## [1] "Mean of combined snake and newt trial 11: 0.989638"
## [1] "Sd of combined snake and newt trial 11: 0.0407207689316378"
## [1] "Mean of the mean difference trial 11: -0.0787112"
## [1] "SD of the mean difference trial 11: 0.00975383167409254"
## [1] "------------------------------------------------------------"
## [1] " TRIAL 12 "
## [1] "------------------------------------------------------------"
## [1] "Newt max pheno trial 12: 1.86614"
## [1] "Snake max pheno trial 12: 3.49544"
## [1] "Newt min pheno trial 12: 0"
## [1] "Snake min Pheno trial 12: 0"
## [1] "Mean of combined snake and newt trial 12: 0.88882424"
## [1] "Sd of combined snake and newt trial 12: 0.0587231123714359"
## [1] "Mean of the mean difference trial 12: 0.10546316"
## [1] "SD of the mean difference trial 12: 0.0445244580167818"
## Warning: Removed 3 row(s) containing missing values (geom_path).
## Warning: Removed 1 row(s) containing missing values (geom_path).
## Warning: Removed 10 row(s) containing missing values (geom_path).
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning: Removed 8 row(s) containing missing values (geom_path).
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning: Removed 26 row(s) containing missing values (geom_path).
## Warning: Removed 21 row(s) containing missing values (geom_path).
## Warning: Removed 14 row(s) containing missing values (geom_path).
## Warning: Removed 14 row(s) containing missing values (geom_path).
## Warning: Removed 3 row(s) containing missing values (geom_path).
## Warning: Removed 15 row(s) containing missing values (geom_path).
## Warning: Removed 8 row(s) containing missing values (geom_path).
## Warning: Removed 1 row(s) containing missing values (geom_path).
## Warning: Removed 9 row(s) containing missing values (geom_path).
## Warning: Removed 5 row(s) containing missing values (geom_path).
## Warning: Removed 13 row(s) containing missing values (geom_path).
## Warning: Removed 12 row(s) containing missing values (geom_path).
## Warning: Removed 4 row(s) containing missing values (geom_path).
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion